package com.tledu.instrument.service.impl;

import com.tledu.common.utils.DateUtils;
import com.tledu.instrument.domain.InstrumentLog;
import com.tledu.instrument.domain.vo.InstrumentLogVo;
import com.tledu.instrument.mapper.InstrumentInfoMapper;
import com.tledu.instrument.mapper.InstrumentLogMapper;
import com.tledu.instrument.service.IInstrumentLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 仪器操作日志Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-08-29
 */
@Service
public class InstrumentLogServiceImpl implements IInstrumentLogService 
{
    @Autowired
    private InstrumentLogMapper instrumentLogMapper;
    @Autowired
    private InstrumentInfoMapper instrumentInfoMapper;

    /**
     * 查询仪器操作日志
     * 
     * @param id 仪器操作日志主键
     * @return 仪器操作日志
     */
    @Override
    public InstrumentLogVo selectInstrumentLogById(Long id)
    {
        return instrumentLogMapper.selectInstrumentLogById(id);
    }

    /**
     * 查询仪器操作日志列表
     * 
     * @param instrumentLog 仪器操作日志
     * @return 仪器操作日志
     */
    @Override
    public List<InstrumentLogVo> selectInstrumentLogList(InstrumentLogVo instrumentLogVo)
    {
        return instrumentLogMapper.selectInstrumentLogList(instrumentLogVo);
    }

    /**
     * 新增仪器操作日志
     * 
     * @param instrumentLog 仪器操作日志
     * @return 结果
     */
    @Override
    public int insertInstrumentLog(InstrumentLog instrumentLog)
    {
        instrumentLog.setCreateTime(DateUtils.getNowDate());
        return instrumentLogMapper.insertInstrumentLog(instrumentLog);
    }

    /**
     * 修改仪器操作日志
     * 
     * @param instrumentLog 仪器操作日志
     * @return 结果
     */
    @Override
    public int updateInstrumentLog(InstrumentLog instrumentLog)
    {
        return instrumentLogMapper.updateInstrumentLog(instrumentLog);
    }

    /**
     * 批量删除仪器操作日志
     * 
     * @param ids 需要删除的仪器操作日志主键
     * @return 结果
     */
    @Override
    public int deleteInstrumentLogByIds(Long[] ids)
    {
        return instrumentLogMapper.deleteInstrumentLogByIds(ids);
    }

    /**
     * 删除仪器操作日志信息
     * 
     * @param id 仪器操作日志主键
     * @return 结果
     */
    @Override
    public int deleteInstrumentLogById(Long id)
    {
        return instrumentLogMapper.deleteInstrumentLogById(id);
    }

    // 逻辑删除日志
//    @Override
//    public int updateInstrumentStatus(Long id) {
//        //通过id获取日志对象
//        InstrumentLog instrumentLog = instrumentLogMapper.selectInstrumentLogById(id);
//        //根据日志对象中的仪器id查询仪器对象
//        InstrumentInfo instrumentInfo = instrumentInfoMapper.selectInstrumentInfoById(instrumentLog.getInstrumentId());
//        //修改仪器对象的删除标志
//        instrumentInfo.setDelFlag(1L);
//        return instrumentInfoMapper.updateInstrumentInfo(instrumentInfo);
//    }
}
